FILE fix28lib.dif __ 1997/01/06 ____ GAP bugfixes __ Heiko Thei"sen ______
This file contains a bugfix for a serious problem in GAP 3.4.3.
You should apply this bugfix soon.
The problem is in `PermGroupOps.RepresentativeOperation', and it may
cause a computation to fail with a cryptic error message.
ACKNOWLEDGEMENT
We thank Peter F M"uller of the University of Florida for bringing this
bug to our attention in his GAP forum article of 4 Jan 1997 (article
1083).
VERSION
GAP/lib 3.4.3.0
PRIORITY
The problem is a serious problem, because it may cause a computation to
fail. Thus the bugfix has medium priority, and we recommend that you
apply it soon.
HOW TO APPLY
Go to the GAP directory (the directory with the `lib/' subdirectory),
name this file `fix28lib.dif', and issue the command:patch -p0 < fix28lib.difIf `patch' writes "I can't seem to find a patch in there" try `patch -v'.
If `patch -v' gives an error message or reports a version older than 2.1,
get 2.1 from `ftp://FTP.Math.RWTH-Aachen.DE/pub/gap/utils/patch2_1.zoo'.This fix changes only the library.
Thus you need not recompile the GAP kernel.
DESCRIPTION
`PermGroupOps.RepresentativeConjugationElements( G, d, e )' fails
if the group $G$ has a non-reduced base and signalsError, List Element: <list>[1] must have a value at
img[bpt] := lensh[OrbitLength( Group( g ), bpt )] ... in
G.operations.RepresentativeConjugationElements( G, d, e ) called from
arg[1].operations.RepresentativeOperation( arg[1], arg[2], arg[3], OnPoints
) called from
RepresentativeOperation( G, (1,2), (1,3) ) called from
main loopThe analogous problem in `Centralizer' does not lead to an error.
CORRECT BEHAVIOUR
gap> G := Group(()); Group( () ) gap> G.stabChain := StabChain(G,rec(base:=[3,4],reduced:=false));; gap> RepresentativeOperation(G,(1,2),(1,3)); false
COMMENT
`PermGroupOps.RepresentativeConjugationElements( G, d, e )' builds a list
which is indexed by cycle lengths of $d$ and contains for each cycle
length a union of cycles of that length. If $G$ is trivial, this list is
empty. Then for each base point $b$ of $G$, the list entry at position
``length of the $e$-cycle containing $b$'' is read. This causes the error
if $G$ is trivial but has a non-reduced base.Such non-reduced bases can appear in centralisers in permutation groups,
which are computed with a backtrack algorithm. `RepresentativeOperation'
uses an iterative method involving such centralisers when it computes an
element which conjugates a list of permutations onto another one.The analogous code in `Centralizer' is also changed with this patch,
although it causes no error.
DIFFS
Prereq: 3.21
--- lib/permbckt.g Thu Dec 21 15:30:28 1995
+++ lib/permbckt.g Tue Jan 7 09:05:55 1997
@@ -3,14 +3,17 @@
#A permbckt.g GAP library Udo Polis
#A & Martin Schoenert
##
-#A @(#)$Id: 2.html,v 1.2 2004/04/21 15:06:57 felsch Exp $
+#A @(#)$Id: 2.html,v 1.2 2004/04/21 15:06:57 felsch Exp $
##
#Y Copyright 1990-1992, Lehrstuhl D fuer Mathematik, RWTH Aachen, Germany
##
## This file contains the backtrack functions for permutation groups.
##
#H $Log: 2.html,v $
#H Revision 1.2 2004/04/21 15:06:57 felsch
#H Corrected links in the Forum Archive pages. VF
#H
#H Revision 1.1.1.1 2004/04/20 13:39:39 felsch
#H The final GAP-Forum archive until 2003.
#H
#H Revision 1.2 2003/06/12 17:28:26 gap
#H Address updates by JN. AH
#H
#H Revision 1.1 1997/08/15 11:19:43 gap
#H New forum setup. AH
#H
#H Revision 1.1 1997/04/06 10:39:44 gap
#H Added forum archives (ahulpke)
#H
-#H Revision 3.21 1994/06/20 11:29:09 ahulpke
+#H Revision 3.21.1.1 1997/01/06 13:41:46 htheisse
+#H avoided non-redundant bases in centraliser/element conjugacy
+#H
+#H Revision 3.21 1994/06/20 11:29:09 ahulpke
#H Transfer of .stabChainOps.random
#H
#H Revision 3.20 1992/07/07 12:43:17 martin
@@ -519,8 +522,8 @@
# compute a stabchain for $G$.
# we take a base that has as often as possible $\beta_i^g = \beta_{i+1}$.
- MakeStabChain( G, Concatenation(orbsg) );
- base := G.operations.Base( G );
+ base := G.operations.Base( StabChain( G,
+ rec( base := Concatenation( orbsg ) ) ) );
# for each length make a set of points in orbits of that length under $h$
lensh := [];
@@ -990,8 +993,8 @@
# compute a stabchain for $G$.
# we take a base that has as often as possible $\beta_i^g = \beta_{i+1}$.
- MakeStabChain( G, Concatenation(orbsH) );
- base := G.operations.Base( G );
+ base := G.operations.Base( StabChain( G,
+ rec( base := Concatenation( orbsH ) ) ) );
# for each length make a set of points in orbits of that length under $g$
lensH := [];
END OF fix28lib.dif ________________________________________________________